package com.car.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 保养记录实体类
 *
 * @author Car System
 */
@Data
@TableName("maintenance_record")
public class MaintenanceRecord implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 保养记录ID
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 车辆ID
     */
    private Long vehicleId;

    /**
     * 客户ID
     */
    private Long customerId;

    /**
     * 保养日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime maintenanceDate;

    /**
     * 保养类型
     */
    private String maintenanceType;

    /**
     * 保养项目
     */
    private String maintenanceItems;

    /**
     * 当前里程
     */
    private Integer mileage;

    /**
     * 保养费用
     */
    private BigDecimal cost;

    /**
     * 经办人
     */
    private String operator;

    /**
     * 备注
     */
    private String remark;

    /**
     * 删除标记
     */
    @TableLogic
    private Integer deleted;

    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;

    /**
     * 车牌号（非数据库字段）
     */
    @TableField(exist = false)
    private String plateNumber;

    /**
     * 客户姓名（非数据库字段）
     */
    @TableField(exist = false)
    private String customerName;
}

